home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / BBS_UTL / LOGPAS17 / LOGTEST.PAS < prev   
Pascal/Delphi Source File  |  1995-05-30  |  2KB  |  56 lines

  1. Program LogTest;   { Example use of LogDev (c) M.P.B. Cole 1991 }
  2.  
  3. USES Crt,LogDev;
  4.  
  5. CONST LogName = '';     {* STDOUT, put a filename here if you want *}
  6.  
  7. VAR Log: text;          {* Log file, assigned to LogDev with AssignLOg() *}
  8.     LogLevel,           {* Got from user *}
  9.     ScreenLevel: byte;  { *     "        *}
  10.     LogType: LogTypes;  { *     "        *}
  11.     ch: char;
  12.  
  13.  
  14. begin
  15.  
  16.   {* Loop until ESC pressed *}
  17.   repeat
  18.     writeln;
  19.     write('Log Type B)inkley, F)rontDoor, D)Bridge or ESC to stop ');
  20.     case UpCase(ReadKey) of
  21.             'B': LogType := Binkley;
  22.             'F': LogType := FrontDoor;
  23.             'D': LogType := DBridge;
  24.             #27: halt;
  25.     end;
  26.  
  27.     write(#13#10'What log level (0 to 5) :');
  28.     readln(LogLevel);
  29.     writeln;
  30.  
  31.     {* Intro string for FrontDoor and Binkley logs *}
  32.     LogDev_Intro := 'LogDev Demo.';
  33.  
  34.     {* If null file name (=stdout) make screen level 0 to stop doubling *}
  35.     if LogName = '' then ScreenLevel := 0 else ScreenLevel := 5;
  36.  
  37.     {* Open a log using LogDev *}
  38.     AssignLog(log,LogName,LogType,'LOGDEV',LogLevel,0);
  39.     append(Log);
  40.     if ioresult <> 0 then Rewrite(log);       {* creates log and writes banner *}
  41.  
  42.     {* Allow entry without flag to assume level of previous entry *}
  43.     LogDev_AssumeLastFlag := true;            {* Default is FALSE *}
  44.  
  45.     {* Write a selection entries at different levels *}
  46.     writeln(log,'1Here is a serious error');  {* All levels > 0 }
  47.     writeln(log,'Entry with no level flag');  {* Same as last if AssumeLastFlag }
  48.     writeln(log,'2Important entry.');         {* 2 and above }
  49.     writeln(log,'3Non crucial entry.');       {* 3 and above }
  50.     writeln(log,'Another with no level, defaults to 3.');
  51.     writeln(log,'4Simple progress message');  {* 4 and above }
  52.     writeln(log,'5Pure screen fodder');       {* 5 only      }
  53.     close(log);                               {* Writes 'End,' if Binkley}
  54.   until false;
  55. end.
  56.